/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Mail_Client;

import Mail_Server.MailServer;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author toshiba
 */
public class MailClient {
    
     /**
     * Variable publica: server
     */
    public MailServer server;

    /**
     * Variable publica: sms_client
     */

    public sms_cliente sms_client;
	
    public void agrega_cliente(){
        server.add_client(this);
    }
    public MailClient(MailServer server,sms_cliente sms_client ){
       this.server=server;
       this.sms_client=sms_client;
       agrega_cliente();
    }
    public void add_mensaje(Mensaje_Completo mc){
        sms_client.agregar_sms(mc);
    }

    /*
     * Metodo que verifica los mensajes que envia el cliente
     * retorna la cantidad de mensajes que tiene el cliente en el
     * servidor
     *
     */
    public int checkMessages(){
        return server.getMessagesWaiting(sms_client.mombre);
    }

     /*
     * Metodo que devuelve el sieguiente mensaje de la lista
     * de mensajes del cliente
     */
    public Mensaje_Completo readNextMessage(){
        return server.getNextMessageCliente(sms_client.mombre);
    }

    /*
     * Metodo que envia el mensaje al destinatario
     *
     */

    public void sendMessage(Mensaje_Completo sms){
        server.post(sms);
    }

    /*
     * Metodo que devuelve la lista de cleintes conectados al servidor
     */
    public List<String> Lista_Clientes_conectados(){
        return server.clientes_conectados();
    }
    
}
